package com.dearbinge.data.dao.cart;

import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.cart.Cart;
import com.dearbinge.data.pojo.cart.vo.CartVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CartMapper {

    /**
     * 查询指定商品库存
     * @param commodityId 商品id
     * @return 结果
     */
    Integer getCommodityStock(String commodityId);

    /**
     * 查询商品是否存在用户购物车
     * @param cart 商品
     * @return 结果
     */
    CartVO getCommodityInCart(Cart cart);

    /**
     * 增加购物车
     *
     * @param cart 购物车
     * @return 结果
     */
    Integer insertCart(Cart cart);


    /**
     * 修改购物车
     *
     * @param cart 购物车
     * @return 结果
     */
    Integer updateCart(Cart cart);



    /**
     * 删除
     *
     * @param id id
     * @return 结果提示
     */
    Integer deleteCart(Integer id);

    /**
     * 清空指定用户的失效商品购物车
     *
     * @param userId 用户id
     * @return 结果提示
     */
    Integer deleteUserFailureCart(Integer userId);

    /**
     * 查询用户的购物车
     *
     * @param userId 用户id
     * @param
     * @return 集
     */

    List<CartVO> listCartByUserId(@Param("shopId") String shopId, @Param("userId")String userId);





    List<Map<String,Object>>getCommodityBeShop(String userId, Page page);

}
